Ключ | key

Ключ – это строка специального формата, которая содержит перечень морфологических свойств. Формат морфологического ключа описан ниже. Основное назначение ключа – описание морфологических свойств слов. Ключи используются при парсинге (в процессе анализа введённой команды) и при синтезе выводимого текста (в конструкторе слова с помощью ключей слову присваивается форма). Ключ может применяться без кавычек в линвгистических операциях.

Структура лингвистического ключа

Ключ – это лексема, которая начинается со знака #, за которым следует перечень морфологических свойств. Порядок следования морфологических ключей в перечне морфологических свойств произвольный. Каждое морфологическое свойство представляется двумя символами. Первый символ – значение свойства, второй символ – имя свойства. Для удобства рекомендуется для первого символа свойства использовать заглавную букву.

#ИпЕч
#ЕчИп
#РпМчНд

В данном примере первый ключ и второй ключ идентичны между собой. Оба ключа определяют именительный падеж (Ип) и единственное число (Еч). Третий ключ состоит из трёх свойств – свойства родительный падеж (Рп), свойства множественное число (Мч) и свойства неодушевлённое (Нд).

Определяющим является имя морфологического свойства (второй символ). Необходимо отметить, что некоторые значения свойств (первый символ) для разных морфологических свойств имеют одинаковое обозначение (например: Мч – множественное число и Мр – мужской род). Морфологический ключ читается слева направо, правые свойства имеют больший приоритет. В частности, если указать два разных несовместных ключа, левый ключ будет отброшен.

#ИпЕчРп

В данном примере свойства Ип и Рп не совместны между собой. Свойство Рп стоит левее, следовательно, у него более высокий приоритет. Свойство Ип будет замещено и в результате ключ будет аналогичен следующему – #ЕчРп.

Подбор лингвистического ключа

Подбор лингвистического ключа производится в случаях, когда из заданного списка ключей необходимо выбрать ключ, наиболее похожий на ключ-образец. Эта операция выполняется, в частности, при подборе словоформы при синтезе текста.

Подбор лингвистического ключа выполняется следующим образом: 1. Выполняется сравнение свойств ключа и свойств в образце. При этом: 1.1. Если в ключе есть то же свойство что и в образце, и значения свойств совпадают – вес ключа увеличивается. 1.2. Если в ключе есть то же свойство что и в образце, но значения свойств не совпадают – ключ отбрасывается. 1.3. Если в ключе есть свойство, которого нет в образце – вес ключ уменьшается. 2. Выбирается ключ с максимальным весом. При этом: 2.1. Если найдено несколько ключей с одинаковым весом – берётся ключ, ближайший к началу списка. 2.2. Допускается вариант когда ни один ключ из списка не подходит.

Пример:
Есть 2 слова – ’пруд’ и ’река’. Слова заданы следующим образом:

$пруд
{
  key = #МрНд
  keydef = #ИпЕч
  #ВпЕч = "пру‘д"
  #ВпМч = "пруды‘"
  #ДпЕч = "пру‘ду"
  #ДпМч = "пруда‘м"
  #ИпЕч = "пру‘д"
  #ИпМч = "пруды‘"
  #ПпЕч = "пру‘де"
  #ПпЕчМу = "пруду‘"
  #ПпМч = "пруда‘х"
  #РпЕч = "пру‘да"
  #РпМч = "прудо‘в"
  #ТпЕч = "пру‘дом"
  #ТпМч = "пруда‘ми"
}

$река
{
  key = ЖрНд
  keydef = ИпЕч
  #ВпЕч = "ре‘ку"
  #ВпМч = "ре‘ки"
  #ДпЕч = "реке‘"
  #ДпМч = "ре‘кам"
  #ИпЕч = "река‘"
  #ИпМч = "ре‘ки"
  #ПпЕч = "реке‘"
  #ПпМч = "ре‘ках"
  #РпЕч = "реки‘"
  #РпМч = "ре‘к"
  #ТпЕч = "реко‘й"
  #ТпЕчПс = "реко‘ю"
  #ТпМч = "ре‘ками"
}

Требуется получить фразу с местным падежом – "я сижу в {_водоём*ПпМуЕч}". Здесь ПпМуЕч – ключ-образец, с которым будут сравниваться ключи форм слова, подставленного в переменную _водоём. При этом Пп – предложный падеж, Му – уточнение места (местный падеж является вариантом предложного падежа), Еч – единственное число. Для слова ’пруд’ это будет form ПпЕчМу = пруду‘. В результате будет сформирована фраза ’я сижу в пруду’.

Для слова ’река’ не определена форма местного падежа, поэтому наиболее близким ключом является ключ формы предложного падежа – form ПпЕч = реке‘. В результате будет сформирована фраза ’я сижу в реке’.

Подбор ключей к слову в процессе парсинга

Подбор ключей к заданной форме слова – операция, выполняющаяся при парсинге. При этом во введённой команде слово уже стоит в какой-то форме. Из описания слова к этой форме подбираются ключи. К токену "река"в команде "сиди в реке"прикрепятся 2 ключа – ДпЕч и ПпЕч. Далее эта команда сравнивается с описанием атрибутов функций. Допустим есть функции: действие (сидеть Акт*Пф, место Где*Пп) ... Ключ токена ДпЕч для этой функции откидывается сразу, ключ ПпЕч подходит, и функция проверяется дальше. Если бы ключа ПпЕч у токена не было, функция (сидеть Акт*Пф, место Где*Пп) была бы сразу отбракована, и парсер перешел бы к следующей функции.

Смотрите также

Слово, лингвистические операции, используемые ключи


to do:
Проверить корректность.
Отформатировать.
Дополнить.